00 开篇词
前言导读
本系列帮助你从零开始,一步步地,系统地,完成从陌生到熟悉,到理解掌握,从编码到设计再到架构,从码农到程序员再到工程师再到架构师的进阶。
入门篇
把 Python 和 JavaScript 作为入门语言,并给出了相应的学习资源和方法。
Python 语法比较简单,有大量的库和语法糖,是零基础的人学习编程的不二之选。JavaScript 是前端语言,更容易让你获得编程的成就感。
需要学习使用操作系统 Linux、编程工具 Visual Studio Code 等入门必学内容。然后掌握 Web 编程入门的学习要点,并通过一个实践项目,帮助理解和巩固所学的内容。
正式入门,推荐语言是 Java,它是所有语言里综合实力最强的。随后推荐更为专业实用的编程工具,如编程的 IDE、版本管理工具 Git、调试前端程序和数据库设计工具等,并给出一个实践项目。
修养篇
程序员的修养,能反映出程序员的工程师特质和价值观,决定了这条路你到底能走多远,是精髓所在。有修养的程序员才可能成长为真正的工程师和架构师,而没有修养的程序员只能沦为码农,这是码农和工程师的关键区分点。
这里给出一些相关的学习资料, 并指出比较重要的几个方面:英文能力、提问的能力、写代码的修养、安全防范意识、软件工程和上线规范、编程规范等。这些能力的训练和培养将为后续的学习和发展夯实基础。
专业基础篇
主要涵盖编程语言、理论学科和系统知识三方面知识。
- 编程语言方面:推荐学习 C、C++ 和 Java 这三个工业级的编程语言。
- 理论学科方面:需要学习算法、数据结构、网络模型、计算机原理等内容。
- 系统知识方面:需要学习 Unix/Linux、TCP/IP、C10K 挑战等专业的系统知识。
最后给出可以选择的几大从业方向。
软件设计篇
结合各主流语言讲述泛型编程、函数式编程、面向对象编程等多种编程范式,分享了 DRY- 避免重复原则、KISS- 简单原则、迪米特法则(又称“最少知识原则”)、 面向对象的 S.O.L.I.D 原则等等多个经典的软件设计原则。
同时给出软件设计领域的一些重要的学习资料。软件设计是工程师非常重要的能力,这里描述了软件工程自发展以来的各种设计方法,这是从工程师通往架构师的必备技能。